package ejb.metrica.seguridad.entity;

import java.sql.Timestamp;
import javax.ejb.*;

/**
 * This is the bean class for the HistoriacuentasBean enterprise bean.
 * Created 15/05/2006 03:25:30 PM
 * @author jsanchez
 */
public abstract class HistoriacuentasBean implements EntityBean, HistoriacuentasLocalBusiness {
    private EntityContext context;
    
    // <editor-fold defaultstate="collapsed" desc="EJB infrastructure methods. Click on the + sign on the left to edit the code.">
    // TODO Consider creating Transfer Object to encapsulate data
    // TODO Review finder methods
    /**
     * @see javax.ejb.EntityBean#setEntityContext(javax.ejb.EntityContext)
     */
    public void setEntityContext(EntityContext aContext) {
        context = aContext;
    }
    
    /**
     * @see javax.ejb.EntityBean#ejbActivate()
     */
    public void ejbActivate() {
        
    }
    
    /**
     * @see javax.ejb.EntityBean#ejbPassivate()
     */
    public void ejbPassivate() {
        
    }
    
    /**
     * @see javax.ejb.EntityBean#ejbRemove()
     */
    public void ejbRemove() {
        
    }
    
    /**
     * @see javax.ejb.EntityBean#unsetEntityContext()
     */
    public void unsetEntityContext() {
        context = null;
    }
    
    /**
     * @see javax.ejb.EntityBean#ejbLoad()
     */
    public void ejbLoad() {
        
    }
    
    /**
     * @see javax.ejb.EntityBean#ejbStore()
     */
    public void ejbStore() {
        
    }
    // </editor-fold>
    
    
    public abstract Integer getId();
    public abstract void setId(Integer id);
    
    public abstract String getCuentaanterior();
    public abstract void setCuentaanterior(String cuentaanterior);
    
    public abstract Timestamp getFechacreacion();
    public abstract void setFechacreacion(Timestamp fechacreacion);
    
    public abstract String getUsuariocreo();
    public abstract void setUsuariocreo(String usuariocreo);
    
    public abstract CuentausuarioLocal getIdCuentaUsuario();
    public abstract void setIdCuentausuario(CuentausuarioLocal idCuentasusuario);
    
    
    public Integer ejbCreate(Integer id, String cuentaanterior, Timestamp fechacreacion, String usuariocreo, CuentausuarioLocal idCuentasusuario)  throws CreateException {
        if (id == null) {
            throw new CreateException("The field \"id\" must not be null");
        }
        if (cuentaanterior == null) {
            throw new CreateException("The field \"cuentaanterior\" must not be null");
        }
        if (idCuentasusuario == null) {
            throw new CreateException("The field \"idUsuario\" must not be null");
        }
        
        // TODO add additional validation code, throw CreateException if data is not valid
        setId(id);
        setCuentaanterior(cuentaanterior);
        setFechacreacion(fechacreacion);
        setUsuariocreo(usuariocreo);
        
        return null;
    }
    
    public void ejbPostCreate(Integer id, String cuentaanterior, Timestamp fechacreacion, String usuariocreo, CuentausuarioLocal idCuentasusuario) {
        // TODO populate relationships here if appropriate
        setIdCuentausuario(idCuentasusuario);
        
    }
}
